package com.xuetang9.utils;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

/**
 * @类: LoggerUtils
 * @描述: 日志工具类
 * @date: 2020/5/14
 * @author: Admin
 * @ver 1.0.0
 * @since JDK 1.8
 */
public class LoggerUtils {

    /**
     * 获取日志对象
     * @return 日志对象
     */
    public static Logger getLogger() {
        //获取当前调用该方法的类的名称
        String classname = new Exception().getStackTrace()[1].getClassName();
        //返回该类的日志对象
        return LoggerFactory.getLogger(classname);
    }

    /**
     * 打印debug日志信息
     * @param s 信息格式
     * @param o 信息对象
     */
    public static void debug(String s,Object o) {
        //获取当前调用该方法的类的名称
        String classname = new Exception().getStackTrace()[1].getClassName();
        //输出debug日志
        LoggerFactory.getLogger(classname).debug(s,o);
    }

    /**
     * 打印debug日志信息
     * @param s 信息格式
     * @param o 信息对象
     */
    public static void debug(String s,Object... o) {
        //获取当前调用该方法的类的名称
        String classname = new Exception().getStackTrace()[1].getClassName();
        //输出debug日志
        LoggerFactory.getLogger(classname).debug(s,o);
    }

    /**
     * 打印debug日志信息
     * @param s 信息
     */
    public static void debug(String s) {
        //获取当前调用该方法的类的名称
        String classname = new Exception().getStackTrace()[1].getClassName();
        //输出debug日志
        LoggerFactory.getLogger(classname).debug(s);
    }

    /**
     * 打印error日志信息
     * @param s 信息格式
     * @param o 信息对象
     */
    public static void error(String s,Object o) {
        //获取当前调用该方法的类的名称
        String classname = new Exception().getStackTrace()[1].getClassName();
        //输出debug日志
        LoggerFactory.getLogger(classname).error(s,o);
    }

    /**
     * 打印error日志信息
     * @param s 信息格式
     * @param o 信息对象
     */
    public static void error(String s,Object... o) {
        //获取当前调用该方法的类的名称
        String classname = new Exception().getStackTrace()[1].getClassName();
        //输出debug日志
        LoggerFactory.getLogger(classname).error(s,o);
    }

    /**
     * 打印error日志信息
     * @param s 信息
     */
    public static void error(String s) {
        //获取当前调用该方法的类的名称
        String classname = new Exception().getStackTrace()[1].getClassName();
        //输出debug日志
        LoggerFactory.getLogger(classname).error(s);
    }

    /**
     * 打印info日志信息
     * @param s 信息格式
     * @param o 信息对象
     */
    public static void info(String s,Object o) {
        //获取当前调用该方法的类的名称
        String classname = new Exception().getStackTrace()[1].getClassName();
        //输出debug日志
        LoggerFactory.getLogger(classname).info(s,o);
    }

    /**
     * 打印info日志信息
     * @param s 信息格式
     * @param o 信息对象
     */
    public static void info(String s,Object... o) {
        //获取当前调用该方法的类的名称
        String classname = new Exception().getStackTrace()[1].getClassName();
        //输出debug日志
        LoggerFactory.getLogger(classname).info(s,o);
    }

    /**
     * 打印info日志信息
     * @param s 信息
     */
    public static void info(String s) {
        //获取当前调用该方法的类的名称
        String classname = new Exception().getStackTrace()[1].getClassName();
        //输出debug日志
        LoggerFactory.getLogger(classname).info(s);
    }
}
